#ifndef MLDATA
#define MLDATA


#include <string>
#include <iostream>
#include <opencv/ml.h>


#include "Scheme.h"


namespace mle
{
	class MLData : public CvMLData
	{
	public:
		static void LoadPatterns(const std::string& patternsPath);
        static int CreateMLDataHeader(std::string csvFilename);
		
		void set_train_test_split(const CvTrainTestSplit* spl);
		void set_train_test_split(const cv::Mat& mask);
		void Load(const std::string& header_filename);
		bool SaveHeader(const std::string& header_filename, const std::string& csv_filename = "");
		cv::Mat SubData(int type) const;
	};
}


#endif //MLDATA
